Skip to main content

Configure a Tempo Webhook

Register Tempo Webhooks to receive real-time ETA notifications from your customers. As your customers get closer to their Destination to collect their order, Bluedot will send a notification every minute, so your team is ready to go.

Configure a Tempo Webhook

1. Add a New Webhook

Under Your Account, choose

2. Add the Webhook Details

PropertyDescription
ProjectSelect the Project you’ll receive the events from
EventSelect Tempo
Event StructureSelect Standard. If you’d like to send the Tempo updates to Tealium check this guide.
URLThe URL of the server where the webhooks will be received. We suggest that the service has SSL enabled.
Header Fields (Optional)Add any extra parameters you’d like to be included in the header of the request. For example, this is a good place to add a security token to authorize the incoming events.
Body Fields (Optional)Add any extra parameters you’d like to be included in the body of the request.

3. Save

You can also configure a Tempo Webhook through Config API (Information on using the Config API for registering a Webhook can be found here.)

Endpoint

Description

Add Tempo Webhooks to a Project

When creating or editing a Project you can add Tempo Webhooks within the tempo property.

Endpoint: https://config.bluedot.io/prod1/projects

Example of adding a Tempo Webhook:

"tempo": { 
"webhooks": [{
"type": "tempo",
"url": "<webhook URL goes here>"
}]
}

Webhook request JSON structure

Update JSON request

{
    "deviceType": "iPhone12,3",
    "os": "iOS",
    "osVersion": "7.0",
    "customerApplicationId": "au.com.bluedot", 
    "sdkVersion": "1.11.0",
    "appBuildVersion": "1.11.2",
    "customEventMetaData": {
        "key1": "value1",
        "key2": "value2"
    },
    "eventTime": "2020-05-21T05:44:04Z",
    "longitude": 144.123123123,
    "latitude": -33.123123123,
    "destinationId": "store ID",
    "eventType": "tempoUpdate",
    "eta": 900, 
    "etaDirection": "greaterThan",
    "installRef": "1111111-2222-3333-4444-555555555555",
    "projectId": "1111111-2222-3333-4444-555555555555",
    "triggerChainId": "11111111-2222-3333-4444-555555555555",
    "notificationType": "tempo",
"zoneId": "1111111-2222-3333-4444-555555555555",
"zoneName": "Store 123",
"zoneCustomData": {
"key1": "value1",
"key2": "value2"
}
}

Stop JSON request

{
    "deviceType": "iPhone12,3",
    "os": "iOS",
    "osVersion": "7.0",
    "customerApplicationId": "au.com.bluedot", 
    "sdkVersion": "1.11.0",
    "appBuildVersion": "1.11.2",
    "customEventMetaData": {
        "key1": "value1",
        "key2": "value2"
    },
    "eventTime": "2020-05-21T05:44:04Z",
    "destinationId": "store ID",
    "stopReason": "stoppedByCustomerApp", 
    "eventType": "tempoStop",
    "installRef": "1111111-2222-3333-4444-555555555555",
    "projectId": "1111111-2222-3333-4444-555555555555",
    "triggerChainId": "11111111-2222-3333-4444-555555555555",
    "notificationType": "tempo",
"zoneId": "1111111-2222-3333-4444-555555555555",
"zoneName": "Store 123",
"zoneCustomData": {
"key1": "value1",
"key2": "value2"
}
}

Tempo Webhook Field description

Tempo Webhook Field description

Field nameDescriptionData typeExample
appBuildVersionThe app build version of the application using the Point SDK which triggered the check-in.String"1.11.2"
customerApplicationIdThe application's package name.String"io.bluedot"
customEventMetaDataKey/Value pairs passed from the application to Bluedot Point SDK. This will not be returned as part of the request if no data set on the Mobile SDK.JSON{ "orderId":"Order 123" }
destinationIdThe ID associated with the location setup in Canvas for the Zone.String"Store-123"
deviceTypeThe type of device that triggered the Tempo event.String"iPhone 9,3"
"samsung SM-N950F"
etaThe estimated time of arrival of the user to the store in seconds.Number300
etaDirectionThe direction of estimation – whether the device is more than or less than the number of seconds provided.String"greaterThan"
"lessThan"
eventTimeRecords the time the event reaches the Bluedot platform.String"2020-05-21T05:44:04Z"
eventTypeThis field denotes the type of event being relayed from our servers to yours. For a stop of Tempo the type will be “tempoStop”.String"tempoUpdate"
"tempoStop"
installRefA randomly issued installation reference, not tied to any personally identifiable data (PID) on the user’s device.String"44c2d0b8-0004-47fc-830d-b73e9ff706f6"
latitudeLatitude component of the coordinate of the current Tempo event.Number30.2672042
longitudeLongitude component of the coordinate the current Tempo event.Number-97.7447926
notificationTypeThis field denotes the type of notification being relayed from our servers to yours. For an Tempo event the type will be “tempo”.String"tempo"
osThe OS of the device that triggered the ETA event.String"android"
"iOS"
osVersionThe OS Version of the device that triggered the Tempo event.String"8.0.0"
projectIdThe identifier of the project with which the SDK is logged into the app.String"4647e4eb-f908-4d3d-82e9-4959d59923b0"
sdkVersionThe Point SDK version number being used in the application which has triggered the Tempo event.String"15.5.0"
stopReasonThis field denotes the reason the Tempo service stopped running.String- invalidDestinationId: Passing an invalid destinationId to the start Tempo tracking SDK method. The SDK will return an error at the client level and at the same time, this event will be fired by our webhooks.

- stoppedByCustomerApp: The stop Tempo tracking method is executed.

- expired: Tempo service has been tracking the device for 30 minutes, and it hasn’t arrived at the destination. This expiring time is customizable. Check with your CX representative if you’d like to update it.

- sdkLogout: The SDK’s reset method is executed.
triggerChainIdtriggerChainId can be used to connect the ETA updates coming through for one set from start to finish.String"c8965662-d67f-49e8-abf9-0bada6c153d1"
zoneIdThe unique identifier of the zone associated with the destinationId.String"4647e4eb-f908-4d3d-82e9-4959d59923b0"
zoneNameThe name of the zone associated with the destinationId.String"Zone Name"